RDS(MySQL)のスロークエリログで設定した閾値(long_query_time)が反映されていない
困っていた内容
RDS(MySQL)でスロークエリログをCloudWatch Logsに出力しています。
DBパラメータグループで設定した閾値(long_query_time)よりも短い実行時間のクエリもログとして記録されてしまうのですがどうしたらいいでしょうか?
原因
log_queries_not_using_indexes の設定値が1(TRUE)になっているため。
log_queries_not_using_indexes: インデックスを使用しないすべてのクエリをスロークエリログに記録するには、1 に設定します。デフォルトは 0 です。インデックスを使用しないクエリは、その実行時間が long_query_time パラメータの値未満であってもログに記録されます。
どう対応すればいいの?
インデックスを使用しないクエリが記録されなくなっても問題ないかを確認した上で
スロークエリログを出力しているRDS>DBパラメータグループよりlog_queries_not_using_indexesを編集し「0」にします。